package com.education.welco.mapper;

import com.education.common.pojo.TStudent;
import com.education.welco.pojo.MineResTable;
import com.education.welco.pojo.PlatformResources;
import com.education.welco.pojo.SResources;
import com.education.welco.pojo.dto.ForAppTeacherDTO;
import com.education.welco.pojo.vo.MineResCatalogVO;
import com.education.welco.pojo.vo.MineResTableAppVO;
import com.education.welco.pojo.vo.STheoryClassroomVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Set;

@Repository
public interface ForAppTeacherMapper {

    List<String> getTeacherClassId(Integer teacherId);

    List<TStudent> selectTStudentList(@Param("student") TStudent student, @Param("list") List<String> classIdList);

    List<PlatformResources> selectShareSchoolResListBySchoolIdAndFileName(@Param("teaId") Integer teaId, @Param("ridALLCollect") List<String> ridALLCollect,
                                                                          @Param("fileName") String fileName, @Param("extensionSet") Set<String> extensionSet,
                                                                          @Param("inOrNot") Boolean inOrNot, @Param("orderBy") String orderBy);

    List<PlatformResources> selectShareSchoolResListBySchoolId(@Param("schoolId") Integer schoolId, @Param("teaId") Integer teaId,
                                                               @Param("orderBy") String orderBy);

    List<MineResTable> queryResListByCatalogId(@Param("catalogId") Integer catalogId, @Param("resName") String resName,
                                               @Param("orderBy") String orderBy, @Param("resType") Integer resType);

    List<STheoryClassroomVO> selectPaikeList(ForAppTeacherDTO sTheoryClassroom);

    List<SResources> selectSResourcesList(Integer id);

    MineResCatalogVO getParentMeanu(Integer catalogId);

    List<MineResTableAppVO> selectMineResTableRecycleList(@Param("teaId") Integer teaId, @Param("type") Integer type,
                                                          @Param("resName") String resName, @Param("orderBy") String orderBy);

    void oneClickClear(List<Integer> list);

    List<Integer> selectClearList(@Param("teaUserId") Integer teaUserId);

    String getAgreement(String type);
}
